(function($){var console=window.console?window.console:{log:$.noop,error:function(msg){$.error(msg);}};function Wysiwyg(){this.controls={bold:{groupIndex:0,visible:true,tags:["b","strong"],css:{fontWeight:"bold"},tooltip:"Bold",hotkey:{"ctrl":1,"key":66}},copy:{groupIndex:8,visible:false,tooltip:"Copy"},createLink:{groupIndex:6,visible:true,exec:function(){var self=this;if($.wysiwyg.controls&&$.wysiwyg.controls.link){$.wysiwyg.controls.link.init(this);}else if($.wysiwyg.autoload){$.wysiwyg.autoload.control("wysiwyg.link.js",function(){self.controls.createLink.exec.apply(self);});}else{console.error("$.wysiwyg.controls.link not defined. You need to include wysiwyg.link.js file");}},tags:["a"],tooltip:"Create link"},cut:{groupIndex:8,visible:false,tooltip:"Cut"},decreaseFontSize:{groupIndex:9,visible:false&&!($.browser.msie),tags:["small"],tooltip:"Decrease font size",exec:function(){this.decreaseFontSize();}},h1:{groupIndex:7,visible:true,className:"h1",command:($.browser.msie||$.browser.safari)?"FormatBlock":"heading","arguments":($.browser.msie||$.browser.safari)?"

":"h1",tags:["h1"],tooltip:"Header 1"},h2:{groupIndex:7,visible:true,className:"h2",command:($.browser.msie||$.browser.safari)?"FormatBlock":"heading","arguments":($.browser.msie||$.browser.safari)?"

":"h2",tags:["h2"],tooltip:"Header 2"},h3:{groupIndex:7,visible:true,className:"h3",command:($.browser.msie||$.browser.safari)?"FormatBlock":"heading","arguments":($.browser.msie||$.browser.safari)?"

":"h3",tags:["h3"],tooltip:"Header 3"},highlight:{tooltip:"Highlight",className:"highlight",groupIndex:1,visible:false,css:{backgroundColor:"rgb(255, 255, 102)"},exec:function(){var command,node,selection,args;if($.browser.msie||$.browser.safari){command="backcolor";}else{command="hilitecolor";} if($.browser.msie){node=this.getInternalRange().parentElement();}else{selection=this.getInternalSelection();node=selection.extentNode||selection.focusNode;while(node.style===undefined){node=node.parentNode;if(node.tagName&&node.tagName.toLowerCase()==="body"){return;}}} if(node.style.backgroundColor==="rgb(255, 255, 102)"||node.style.backgroundColor==="#ffff66"){args="#ffffff";}else{args="#ffff66";} this.editorDoc.execCommand(command,false,args);}},html:{groupIndex:10,visible:false,exec:function(){var elementHeight;if(this.options.resizeOptions&&$.fn.resizable){elementHeight=this.element.height();} if(this.viewHTML){this.setContent($(this.original).val());$(this.original).hide();this.editor.show();if(this.options.resizeOptions&&$.fn.resizable){if(elementHeight===this.element.height()){this.element.height(elementHeight+this.editor.height());} this.element.resizable($.extend(true,{alsoResize:this.editor},this.options.resizeOptions));} this.ui.toolbar.find("li").each(function(){var li=$(this);if(li.hasClass("html")){li.removeClass("active");}else{li.attr("disabled","false");}});}else{this.saveContent();$(this.original).css({width:this.element.outerWidth()-6,height:this.element.height()-this.ui.toolbar.height()-6,resize:"none"}).show();this.editor.hide();if(this.options.resizeOptions&&$.fn.resizable){if(elementHeight===this.element.height()){this.element.height(this.ui.toolbar.height());} this.element.resizable("destroy");} this.ui.toolbar.find("li").each(function(){var li=$(this);if(li.hasClass("html")){li.addClass("active");}else{if(false===li.hasClass("fullscreen")){li.removeClass("active");li.attr("disabled","true");}}});} this.viewHTML=!(this.viewHTML);},tooltip:"View source code"},increaseFontSize:{groupIndex:9,visible:false&&!($.browser.msie),tags:["big"],tooltip:"Increase font size",exec:function(){this.increaseFontSize();}},indent:{groupIndex:2,visible:true,tooltip:"Indent"},insertHorizontalRule:{groupIndex:6,visible:true,tags:["hr"],tooltip:"Insert Horizontal Rule"},insertImage:{groupIndex:6,visible:true,exec:function(){var self=this;if($.wysiwyg.controls&&$.wysiwyg.controls.image){$.wysiwyg.controls.image.init(this);}else if($.wysiwyg.autoload){$.wysiwyg.autoload.control("wysiwyg.image.js",function(){self.controls.insertImage.exec.apply(self);});}else{console.error("$.wysiwyg.controls.image not defined. You need to include wysiwyg.image.js file");}},tags:["img"],tooltip:"Insert image"},insertOrderedList:{groupIndex:5,visible:true,tags:["ol"],tooltip:"Insert Ordered List"},insertTable:{groupIndex:6,visible:true,exec:function(){var self=this;if($.wysiwyg.controls&&$.wysiwyg.controls.table){$.wysiwyg.controls.table(this);}else if($.wysiwyg.autoload){$.wysiwyg.autoload.control("wysiwyg.table.js",function(){self.controls.insertTable.exec.apply(self);});}else{console.error("$.wysiwyg.controls.table not defined. You need to include wysiwyg.table.js file");}},tags:["table"],tooltip:"Insert table"},insertUnorderedList:{groupIndex:5,visible:true,tags:["ul"],tooltip:"Insert Unordered List"},italic:{groupIndex:0,visible:true,tags:["i","em"],css:{fontStyle:"italic"},tooltip:"Italic",hotkey:{"ctrl":1,"key":73}},justifyCenter:{groupIndex:1,visible:true,tags:["center"],css:{textAlign:"center"},tooltip:"Justify Center"},justifyFull:{groupIndex:1,visible:true,css:{textAlign:"justify"},tooltip:"Justify Full"},justifyLeft:{visible:true,groupIndex:1,css:{textAlign:"left"},tooltip:"Justify Left"},justifyRight:{groupIndex:1,visible:true,css:{textAlign:"right"},tooltip:"Justify Right"},ltr:{groupIndex:10,visible:false,exec:function(){var range=this.getInternalRange(),p=this.dom.getElement("p");if(!p){return false;} $(p).attr("dir","ltr");},tooltip:"Left to Right"},outdent:{groupIndex:2,visible:true,tooltip:"Outdent"},paragraph:{groupIndex:7,visible:false,className:"paragraph",command:"FormatBlock","arguments":($.browser.msie||$.browser.safari)?"

":"p",tags:["p"],tooltip:"Paragraph"},paste:{groupIndex:8,visible:false,tooltip:"Paste"},redo:{groupIndex:4,visible:true,tooltip:"Redo"},removeFormat:{groupIndex:10,visible:true,exec:function(){this.removeFormat();},tooltip:"Remove formatting"},rtl:{groupIndex:10,visible:false,exec:function(){var range=this.getInternalRange(),p=this.dom.getElement("p");if(!p){return false;} $(p).attr("dir","rtl");},tooltip:"Right to Left"},strikeThrough:{groupIndex:0,visible:true,tags:["s","strike"],css:{textDecoration:"line-through"},tooltip:"Strike-through"},subscript:{groupIndex:3,visible:true,tags:["sub"],tooltip:"Subscript"},superscript:{groupIndex:3,visible:true,tags:["sup"],tooltip:"Superscript"},underline:{groupIndex:0,visible:true,tags:["u"],css:{textDecoration:"underline"},tooltip:"Underline",hotkey:{"ctrl":1,"key":85}},undo:{groupIndex:4,visible:true,tooltip:"Undo"}};this.defaults={html:'INITIAL_CONTENT',debug:false,controls:{},css:{},events:{},autoGrow:false,autoSave:true,brIE:true,formHeight:270,formWidth:440,iFrameClass:null,initialContent:"",maxHeight:10000,maxLength:0,messages:{nonSelection:"Select the text you wish to link"},toolbarHtml:'

',removeHeadings:false,replaceDivWithP:false,resizeOptions:false,rmUnusedControls:false,rmUnwantedBr:true,tableFiller:" ",initialMinHeight:null,controlImage:{forceRelativeUrls:false},controlLink:{forceRelativeUrls:false},plugins:{autoload:false,i18n:false,rmFormat:{rmMsWordMarkup:false}}};this.availableControlProperties=["arguments","callback","className","command","css","custom","exec","groupIndex","hotkey","icon","tags","tooltip","visible"];this.editor=null;this.editorDoc=null;this.element=null;this.options={};this.original=null;this.savedRange=null;this.timers=[];this.validKeyCodes=[8,9,13,16,17,18,19,20,27,33,34,35,36,37,38,39,40,45,46];this.isDestroyed=false;this.dom={ie:{parent:null},w3c:{parent:null}};this.dom.parent=this;this.dom.ie.parent=this.dom;this.dom.w3c.parent=this.dom;this.ui={};this.ui.self=this;this.ui.toolbar=null;this.ui.initialHeight=null;this.dom.getAncestor=function(element,filterTagName){filterTagName=filterTagName.toLowerCase();while(element&&"body"!==element.tagName.toLowerCase()){if(filterTagName===element.tagName.toLowerCase()){return element;} element=element.parentNode;} return null;};this.dom.getElement=function(filterTagName){var dom=this;if(window.getSelection){return dom.w3c.getElement(filterTagName);}else{return dom.ie.getElement(filterTagName);}};this.dom.ie.getElement=function(filterTagName){var dom=this.parent,selection=dom.parent.getInternalSelection(),range=selection.createRange(),element;if("Control"===selection.type){if(1===range.length){element=range.item(0);}else{return null;}}else{element=range.parentElement();} return dom.getAncestor(element,filterTagName);};this.dom.w3c.getElement=function(filterTagName){var dom=this.parent,range=dom.parent.getInternalRange(),element;if(!range){return null;} element=range.commonAncestorContainer;if(3===element.nodeType){element=element.parentNode;} if(element===range.startContainer){element=element.childNodes[range.startOffset];} return dom.getAncestor(element,filterTagName);};this.ui.addHoverClass=function(){$(this).addClass("wysiwyg-button-hover");};this.ui.appendControls=function(){var ui=this,self=this.self,controls=self.parseControls(),hasVisibleControls=true,groups=[],controlsByGroup={},i,currentGroupIndex,iterateGroup=function(controlName,control){if(control.groupIndex&¤tGroupIndex!==control.groupIndex){currentGroupIndex=control.groupIndex;hasVisibleControls=false;} if(!control.visible){return;} if(!hasVisibleControls){ui.appendItemSeparator();hasVisibleControls=true;} if(control.custom){ui.appendItemCustom(controlName,control);}else{ui.appendItem(controlName,control);}};$.each(controls,function(name,c){var index="empty";if(undefined!==c.groupIndex){if(""===c.groupIndex){index="empty";}else{index=c.groupIndex;}} if(undefined===controlsByGroup[index]){groups.push(index);controlsByGroup[index]={};} controlsByGroup[index][name]=c;});groups.sort(function(a,b){if("number"===typeof(a)&&typeof(a)===typeof(b)){return(a-b);}else{a=""+a;b=""+b;if(a>b){return 1;} if(a===b){return 0;} return-1;}});if(0'+(className)+"").addClass(className).attr("title",tooltip).hover(this.addHoverClass,this.removeHoverClass).click(function(){if("true"===$(this).attr("disabled")){return false;} self.triggerControl.apply(self,[name,control]);this.blur();self.ui.returnRange();self.ui.focus();}).appendTo(self.ui.toolbar);};this.ui.appendItemCustom=function(name,control){var self=this.self,tooltip=control.tooltip||control.command||name||"";if(control.callback){$(window).bind("trigger-"+name+".wysiwyg",control.callback);} return $('
  • ').addClass("custom-command-"+name).addClass("wysiwyg-custom-command").addClass(name).attr("title",control.tooltip).hover(this.addHoverClass,this.removeHoverClass).click(function(){if("true"===$(this).attr("disabled")){return false;} self.triggerControl.apply(self,[name,control]);this.blur();self.ui.returnRange();self.ui.focus();self.triggerControlCallback(name);}).appendTo(self.ui.toolbar);};this.ui.appendItemSeparator=function(){var self=this.self;return $('').appendTo(self.ui.toolbar);};this.autoSaveFunction=function(){this.saveContent();};this.ui.checkTargets=function(element){var self=this.self;$.each(self.options.controls,function(name,control){var className=control.className||control.command||name||"empty",tags,elm,css,el,checkActiveStatus=function(cssProperty,cssValue){var handler;if("function"===typeof(cssValue)){handler=cssValue;if(handler(el.css(cssProperty).toString().toLowerCase(),self)){self.ui.toolbar.find("."+className).addClass("active");}}else{if(el.css(cssProperty).toString().toLowerCase()===cssValue){self.ui.toolbar.find("."+className).addClass("active");}}};if("fullscreen"!==className){self.ui.toolbar.find("."+className).removeClass("active");} if(control.tags||(control.options&&control.options.tags)){tags=control.tags||(control.options&&control.options.tags);elm=element;while(elm){if(elm.nodeType!==1){break;} if($.inArray(elm.tagName.toLowerCase(),tags)!==-1){self.ui.toolbar.find("."+className).addClass("active");} elm=elm.parentNode;}} if(control.css||(control.options&&control.options.css)){css=control.css||(control.options&&control.options.css);el=$(element);while(el){if(el[0].nodeType!==1){break;} $.each(css,checkActiveStatus);el=el.parent();}}});};this.ui.designMode=function(){var attempts=3,self=this.self,runner=function(attempts){if("on"===self.editorDoc.designMode){if(self.timers.designMode){window.clearTimeout(self.timers.designMode);} if(self.innerDocument()!==self.editorDoc){self.ui.initFrame();} return;} try{self.editorDoc.designMode="on";}catch(e){} attempts-=1;if(attempts>0){self.timers.designMode=window.setTimeout(function(){runner(attempts);},100);}};runner(attempts);};this.destroy=function(){this.isDestroyed=true;var i,$form=this.element.closest("form");for(i=0;i0){sel.removeAllRanges();} try{sel.addRange(self.savedRange);}catch(e){console.error(e);}}else if(window.document.createRange){window.getSelection().addRange(self.savedRange);}else if(window.document.selection){self.savedRange.select();} self.savedRange=null;}};this.increaseFontSize=function(){if($.browser.mozilla||$.browser.opera){this.editorDoc.execCommand('increaseFontSize',false,null);}else if($.browser.safari){var newNode=this.editorDoc.createElement('big');this.getInternalRange().surroundContents(newNode);}else{console.error("Internet Explorer?");}};this.decreaseFontSize=function(){if($.browser.mozilla||$.browser.opera){this.editorDoc.execCommand('decreaseFontSize',false,null);}else if($.browser.safari){var newNode=this.editorDoc.createElement('small');this.getInternalRange().surroundContents(newNode);}else{console.error("Internet Explorer?");}};this.getContent=function(){return this.events.filter('getContent',this.editorDoc.body.innerHTML);};this.events={_events:{},bind:function(eventName,callback){if(typeof(this._events.eventName)!="object"){this._events[eventName]=[];} this._events[eventName].push(callback);},trigger:function(eventName,args){if(typeof(this._events.eventName)=="object"){var editor=this.editor;$.each(this._events,function(k,v){if(typeof(v)=="function"){v.apply(editor,args);}});}},filter:function(eventName,originalText){if(typeof(this._events.eventName)=="object"){var editor=this.editor;var args=Array.prototype.slice.call(arguments,1);$.each(this._events,function(k,v){if(typeof(v)=="function"){originalText=v.apply(editor,args);}});} return originalText;}};this.getElementByAttributeValue=function(tagName,attributeName,attributeValue){var i,value,elements=this.editorDoc.getElementsByTagName(tagName);for(i=0;i0){return selection.getRangeAt(0);}else if(selection.createRange){return selection.createRange();} return null;};this.getInternalSelection=function(){if(this.editor.get(0).contentWindow){if(this.editor.get(0).contentWindow.getSelection){return this.editor.get(0).contentWindow.getSelection();} if(this.editor.get(0).contentWindow.selection){return this.editor.get(0).contentWindow.selection;}} if(this.editorDoc.getSelection){return this.editorDoc.getSelection();} if(this.editorDoc.selection){return this.editorDoc.selection;} return null;};this.getRange=function(){var selection=this.getSelection();if(!selection){return null;} if(selection.rangeCount&&selection.rangeCount>0){selection.getRangeAt(0);}else if(selection.createRange){return selection.createRange();} return null;};this.getSelection=function(){return(window.getSelection)?window.getSelection():window.document.selection;};this.ui.grow=function(){var self=this.self,innerBody=$(self.editorDoc.body),innerHeight=$.browser.msie?innerBody[0].scrollHeight:innerBody.height()+2+20,minHeight=self.ui.initialHeight,height=Math.max(innerHeight,minHeight);height=Math.min(height,self.options.maxHeight);self.editor.attr("scrolling",height':"").attr("frameborder","0");if(this.options.iFrameClass){this.editor.addClass(this.options.iFrameClass);}else{this.editor.css({minHeight:(newY-6).toString()+"px",width:(newX>50)?(newX-8).toString()+"px":""});if($.browser.msie&&parseInt($.browser.version,10)<7){this.editor.css("height",newY.toString()+"px");}} this.editor.attr("tabindex",$(element).attr("tabindex"));this.element=$("
    ").addClass("wysiwyg");if(!this.options.iFrameClass){this.element.css({width:(newX>0)?newX.toString()+"px":"100%"});} $(element).hide().before(this.element);this.viewHTML=false;this.initialContent=$(element).val();this.ui.initFrame();if(this.options.resizeOptions&&$.fn.resizable){this.element.resizable($.extend(true,{alsoResize:this.editor},this.options.resizeOptions));} if(this.options.autoSave){$form.bind("submit.wysiwyg",function(){self.autoSaveFunction();});} $form.bind("reset.wysiwyg",function(){self.resetFunction();});};this.ui.initFrame=function(){var self=this.self,stylesheet,growHandler,saveHandler;self.ui.appendControls();self.element.append(self.ui.toolbar).append($("
    ").css({clear:"both"})).append(self.editor);self.editorDoc=self.innerDocument();if(self.isDestroyed){return null;} self.ui.designMode();self.editorDoc.open();self.editorDoc.write(self.options.html.replace(/INITIAL_CONTENT/,function(){return self.wrapInitialContent();}));self.editorDoc.close();$.wysiwyg.plugin.bind(self);$(self.editorDoc).trigger("initFrame.wysiwyg");$(self.editorDoc).bind("click.wysiwyg",function(event){self.ui.checkTargets(event.target?event.target:event.srcElement);});$(self.original).focus(function(){if($(this).filter(":visible")){return;} self.ui.focus();});$(self.editorDoc).keydown(function(event){var emptyContentRegex;if(event.keyCode===8){emptyContentRegex=/^<([\w]+)[^>]*>()?<\/\1>$/;if(emptyContentRegex.test(self.getContent())){event.stopPropagation();return false;}} return true;});if(!$.browser.msie){$(self.editorDoc).keydown(function(event){var controlName;if(event.ctrlKey||event.metaKey){for(controlName in self.controls){if(self.controls[controlName].hotkey&&self.controls[controlName].hotkey.ctrl){if(event.keyCode===self.controls[controlName].hotkey.key){self.triggerControl.apply(self,[controlName,self.controls[controlName]]);return false;}}}} return true;});}else if(self.options.brIE){$(self.editorDoc).keydown(function(event){if(event.keyCode===13){var rng=self.getRange();rng.pasteHTML("
    ");rng.collapse(false);rng.select();return false;} return true;});} if(self.options.plugins.rmFormat.rmMsWordMarkup){$(self.editorDoc).bind("keyup.wysiwyg",function(event){if(event.ctrlKey||event.metaKey){if(86===event.keyCode){if($.wysiwyg.rmFormat){if("object"===typeof(self.options.plugins.rmFormat.rmMsWordMarkup)){$.wysiwyg.rmFormat.run(self,{rules:{msWordMarkup:self.options.plugins.rmFormat.rmMsWordMarkup}});}else{$.wysiwyg.rmFormat.run(self,{rules:{msWordMarkup:{enabled:true}}});}}}}});} if(self.options.autoSave){$(self.editorDoc).keydown(function(){self.autoSaveFunction();}).keyup(function(){self.autoSaveFunction();}).mousedown(function(){self.autoSaveFunction();}).bind($.support.noCloneEvent?"input.wysiwyg":"paste.wysiwyg",function(){self.autoSaveFunction();});} if(self.options.autoGrow){if(self.options.initialMinHeight!==null){self.ui.initialHeight=self.options.initialMinHeight;}else{self.ui.initialHeight=$(self.editorDoc).height();} $(self.editorDoc.body).css("border","1px solid white");growHandler=function(){self.ui.grow();};$(self.editorDoc).keyup(growHandler);$(self.editorDoc).bind("editorRefresh.wysiwyg",growHandler);self.ui.grow();} if(self.options.css){if(String===self.options.css.constructor){if($.browser.msie){stylesheet=self.editorDoc.createStyleSheet(self.options.css);$(stylesheet).attr({"media":"all"});}else{stylesheet=$("").attr({"href":self.options.css,"media":"all","rel":"stylesheet","type":"text/css"});$(self.editorDoc).find("head").append(stylesheet);}}else{self.timers.initFrame_Css=window.setTimeout(function(){$(self.editorDoc.body).css(self.options.css);},0);}} if(self.initialContent.length===0){if("function"===typeof(self.options.initialContent)){self.setContent(self.options.initialContent());}else{self.setContent(self.options.initialContent);}} if(self.options.maxLength>0){$(self.editorDoc).keydown(function(event){if($(self.editorDoc).text().length>=self.options.maxLength&&$.inArray(event.which,self.validKeyCodes)==-1){event.preventDefault();}});} $.each(self.options.events,function(key,handler){$(self.editorDoc).bind(key+".wysiwyg",function(event){handler.apply(self.editorDoc,[event,self]);});});if($.browser.msie){$(self.editorDoc).bind("beforedeactivate.wysiwyg",function(){self.savedRange=self.getInternalRange();});}else{$(self.editorDoc).bind("blur.wysiwyg",function(){self.savedRange=self.getInternalRange();});} $(self.editorDoc.body).addClass("wysiwyg");if(self.options.events&&self.options.events.save){saveHandler=self.options.events.save;$(self.editorDoc).bind("keyup.wysiwyg",saveHandler);$(self.editorDoc).bind("change.wysiwyg",saveHandler);if($.support.noCloneEvent){$(self.editorDoc).bind("input.wysiwyg",saveHandler);}else{$(self.editorDoc).bind("paste.wysiwyg",saveHandler);$(self.editorDoc).bind("cut.wysiwyg",saveHandler);}} if(self.options.xhtml5){var replacements={nbsp:"#00A0",iexcl:"#00A1",cent:"#00A2",pound:"#00A3",curren:"#00A4",yen:"#00A5",brvbar:"#00A6",sect:"#00A7",uml:"#00A8",copy:"#00A9",ordf:"#00AA",laquo:"#00AB",not:"#00AC",shy:"#00AD",reg:"#00AE",macr:"#00AF",deg:"#00B0",plusmn:"#00B1",sup2:"#00B2",sup3:"#00B3",acute:"#00B4",micro:"#00B5",para:"#00B6",middot:"#00B7",cedil:"#00B8",sup1:"#00B9",ordm:"#00BA",raquo:"#00BB",frac14:"#00BC",frac12:"#00BD",frac34:"#00BE",iquest:"#00BF",Agrave:"#00C0",Aacute:"#00C1",Acirc:"#00C2",Atilde:"#00C3",Auml:"#00C4",Aring:"#00C5",AElig:"#00C6",Ccedil:"#00C7",Egrave:"#00C8",Eacute:"#00C9",Ecirc:"#00CA",Euml:"#00CB",Igrave:"#00CC",Iacute:"#00CD",Icirc:"#00CE",Iuml:"#00CF",ETH:"#00D0",Ntilde:"#00D1",Ograve:"#00D2",Oacute:"#00D3",Ocirc:"#00D4",Otilde:"#00D5",Ouml:"#00D6",times:"#00D7",Oslash:"#00D8",Ugrave:"#00D9",Uacute:"#00DA",Ucirc:"#00DB",Uuml:"#00DC",Yacute:"#00DD",THORN:"#00DE",szlig:"#00DF",agrave:"#00E0",aacute:"#00E1",acirc:"#00E2",atilde:"#00E3",auml:"#00E4",aring:"#00E5",aelig:"#00E6",ccedil:"#00E7",egrave:"#00E8",eacute:"#00E9",ecirc:"#00EA",euml:"#00EB",igrave:"#00EC",iacute:"#00ED",icirc:"#00EE",iuml:"#00EF",eth:"#00F0",ntilde:"#00F1",ograve:"#00F2",oacute:"#00F3",ocirc:"#00F4",otilde:"#00F5",ouml:"#00F6",divide:"#00F7",oslash:"#00F8",ugrave:"#00F9",uacute:"#00FA",ucirc:"#00FB",uuml:"#00FC",yacute:"#00FD",thorn:"#00FE",yuml:"#00FF",OElig:"#0152",oelig:"#0153",Scaron:"#0160",scaron:"#0161",Yuml:"#0178",fnof:"#0192",circ:"#02C6",tilde:"#02DC",Alpha:"#0391",Beta:"#0392",Gamma:"#0393",Delta:"#0394",Epsilon:"#0395",Zeta:"#0396",Eta:"#0397",Theta:"#0398",Iota:"#0399",Kappa:"#039A",Lambda:"#039B",Mu:"#039C",Nu:"#039D",Xi:"#039E",Omicron:"#039F",Pi:"#03A0",Rho:"#03A1",Sigma:"#03A3",Tau:"#03A4",Upsilon:"#03A5",Phi:"#03A6",Chi:"#03A7",Psi:"#03A8",Omega:"#03A9",alpha:"#03B1",beta:"#03B2",gamma:"#03B3",delta:"#03B4",epsilon:"#03B5",zeta:"#03B6",eta:"#03B7",theta:"#03B8",iota:"#03B9",kappa:"#03BA",lambda:"#03BB",mu:"#03BC",nu:"#03BD",xi:"#03BE",omicron:"#03BF",pi:"#03C0",rho:"#03C1",sigmaf:"#03C2",sigma:"#03C3",tau:"#03C4",upsilon:"#03C5",phi:"#03C6",chi:"#03C7",psi:"#03C8",omega:"#03C9",thetasym:"#03D1",upsih:"#03D2",piv:"#03D6",ensp:"#2002",emsp:"#2003",thinsp:"#2009",zwnj:"#200C",zwj:"#200D",lrm:"#200E",rlm:"#200F",ndash:"#2013",mdash:"#2014",lsquo:"#2018",rsquo:"#2019",sbquo:"#201A",ldquo:"#201C",rdquo:"#201D",bdquo:"#201E",dagger:"#2020",Dagger:"#2021",bull:"#2022",hellip:"#2026",permil:"#2030",prime:"#2032",Prime:"#2033",lsaquo:"#2039",rsaquo:"#203A",oline:"#203E",frasl:"#2044",euro:"#20AC",image:"#2111",weierp:"#2118",real:"#211C",trade:"#2122",alefsym:"#2135",larr:"#2190",uarr:"#2191",rarr:"#2192",darr:"#2193",harr:"#2194",crarr:"#21B5",lArr:"#21D0",uArr:"#21D1",rArr:"#21D2",dArr:"#21D3",hArr:"#21D4",forall:"#2200",part:"#2202",exist:"#2203",empty:"#2205",nabla:"#2207",isin:"#2208",notin:"#2209",ni:"#220B",prod:"#220F",sum:"#2211",minus:"#2212",lowast:"#2217",radic:"#221A",prop:"#221D",infin:"#221E",ang:"#2220",and:"#2227",or:"#2228",cap:"#2229",cup:"#222A","int":"#222B",there4:"#2234",sim:"#223C",cong:"#2245",asymp:"#2248",ne:"#2260",equiv:"#2261",le:"#2264",ge:"#2265",sub:"#2282",sup:"#2283",nsub:"#2284",sube:"#2286",supe:"#2287",oplus:"#2295",otimes:"#2297",perp:"#22A5",sdot:"#22C5",lceil:"#2308",rceil:"#2309",lfloor:"#230A",rfloor:"#230B",lang:"#27E8",rang:"#27E9",loz:"#25CA",spades:"#2660",clubs:"#2663",hearts:"#2665",diams:"#2666"};this.events.bind("getContent",function(text){return text.replace(/&([a-zA-Z0-9]+);/g,function(str,p1){if(!replacements[p1]){p1=p1.toLowerCase();} return replacements[p1]?"&"+replacements[p1]+";":"";});});}};this.innerDocument=function(){var element=this.editor.get(0);if(element.nodeName.toLowerCase()==="iframe"){if(element.contentDocument){return element.contentDocument;}else if(element.contentWindow){return element.contentWindow.document;} if(this.isDestroyed){return null;} console.error("Unexpected error in innerDocument");} return element;};this.insertHtml=function(szHTML){var img,range;if(!szHTML||szHTML.length===0){return this;} if($.browser.msie){this.ui.focus();this.editorDoc.execCommand("insertImage",false,"#jwysiwyg#");img=this.getElementByAttributeValue("img","src","#jwysiwyg#");if(img){$(img).replaceWith(szHTML);}}else{if($.browser.mozilla){range=this.getInternalRange();range.deleteContents();range.insertNode($(szHTML).get(0));}else{if(!this.editorDoc.execCommand("insertHTML",false,szHTML)){this.editor.focus();this.editorDoc.execCommand("insertHTML",false,szHTML);}}} return this;};this.parseControls=function(){var self=this;$.each(this.options.controls,function(controlName,control){$.each(control,function(propertyName){if(-1===$.inArray(propertyName,self.availableControlProperties)){throw controlName+'["'+propertyName+'"]: property "'+propertyName+'" not exists in Wysiwyg.availableControlProperties';}});});if(this.options.parseControls){return this.options.parseControls.call(this);} return this.options.controls;};this.removeFormat=function(){if($.browser.msie){this.ui.focus();} if(this.options.removeHeadings){this.editorDoc.execCommand("formatBlock",false,"

    ");} this.editorDoc.execCommand("removeFormat",false,null);this.editorDoc.execCommand("unlink",false,null);if($.wysiwyg.rmFormat&&$.wysiwyg.rmFormat.enabled){$.wysiwyg.rmFormat.run(this);} return this;};this.ui.removeHoverClass=function(){$(this).removeClass("wysiwyg-button-hover");};this.resetFunction=function(){this.setContent(this.initialContent);this.saveContent();};this.saveContent=function(){if(this.original){var content,newContent;if(this.viewHTML){this.setContent($(this.original).val());} content=this.getContent();if(this.options.rmUnwantedBr){content=content.replace(/$/,"");} if(this.options.replaceDivWithP){newContent=$("

    ").addClass("temp").append(content);newContent.children("div").each(function(){var element=$(this),p=element.find("p"),i;if(0===p.length){p=$("

    ");if(this.attributes.length>0){for(i=0;i/gi);if(!found){return "

    "+content+"

    ";}else{} return content;};} $.wysiwyg={messages:{noObject:"Something goes wrong, check object"},addControl:function(object,name,settings){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg"),customControl={},toolbar;if(!oWysiwyg){return this;} customControl[name]=$.extend(true,{visible:true,custom:true},settings);$.extend(true,oWysiwyg.options.controls,customControl);toolbar=$(oWysiwyg.options.toolbarHtml);oWysiwyg.ui.toolbar.replaceWith(toolbar);oWysiwyg.ui.toolbar=toolbar;oWysiwyg.ui.appendControls();});},clear:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;} oWysiwyg.setContent("");oWysiwyg.saveContent();});},console:console,destroy:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;} oWysiwyg.destroy();});},"document":function(object){var oWysiwyg=object.data("wysiwyg");if(!oWysiwyg){return undefined;} return $(oWysiwyg.editorDoc);},getContent:function(object){var oWysiwyg=object.data("wysiwyg");if(!oWysiwyg){return undefined;} return oWysiwyg.getContent();},init:function(object,options){return object.each(function(){var opts=$.extend(true,{},options),obj;if(("textarea"!==this.nodeName.toLowerCase())||$(this).data("wysiwyg")){return;} obj=new Wysiwyg();obj.init(this,opts);$.data(this,"wysiwyg",obj);$(obj.editorDoc).trigger("afterInit.wysiwyg");});},insertHtml:function(object,szHTML){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;} oWysiwyg.insertHtml(szHTML);});},plugin:{listeners:{},bind:function(Wysiwyg){var self=this;$.each(this.listeners,function(action,handlers){var i,plugin;for(i=0;ielements.length){return false;} return{name:elements[0],method:elements[1]};},register:function(data){if(!data.name){console.error("Plugin name missing");} $.each($.wysiwyg,function(pluginName){if(pluginName===data.name){console.error("Plugin with name '"+data.name+"' was already registered");}});$.wysiwyg[data.name]=data;return true;}},removeFormat:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;} oWysiwyg.removeFormat();});},save:function(object){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;} oWysiwyg.saveContent();});},selectAll:function(object){var oWysiwyg=object.data("wysiwyg"),oBody,oRange,selection;if(!oWysiwyg){return this;} oBody=oWysiwyg.editorDoc.body;if(window.getSelection){selection=oWysiwyg.getInternalSelection();selection.selectAllChildren(oBody);}else{oRange=oBody.createTextRange();oRange.moveToElementText(oBody);oRange.select();}},setContent:function(object,newContent){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;} oWysiwyg.setContent(newContent);oWysiwyg.saveContent();});},triggerControl:function(object,controlName){return object.each(function(){var oWysiwyg=$(this).data("wysiwyg");if(!oWysiwyg){return this;} if(!oWysiwyg.controls[controlName]){console.error("Control '"+controlName+"' not exists");} oWysiwyg.triggerControl.apply(oWysiwyg,[controlName,oWysiwyg.controls[controlName]]);});},utils:{extraSafeEntities:[["<",">","'",'"'," "],[32]],encodeEntities:function(str){var self=this,aStr,aRet=[];if(this.extraSafeEntities[1].length===0){$.each(this.extraSafeEntities[0],function(i,ch){self.extraSafeEntities[1].push(ch.charCodeAt());});} aStr=str.split("");$.each(aStr,function(i){var iC=aStr[i].charCodeAt();if($.inArray(iC,self.extraSafeEntities[1])&&(iC<65||iC>127||(iC>90&&iC<97))){aRet.push('&#'+iC+';');}else{aRet.push(aStr[i]);}});return aRet.join('');}}};$.fn.wysiwyg=function(method){var args=arguments,plugin;if("undefined"!==typeof $.wysiwyg[method]){args=Array.prototype.concat.call([args[0]],[this],Array.prototype.slice.call(args,1));return $.wysiwyg[method].apply($.wysiwyg,Array.prototype.slice.call(args,1));}else if("object"===typeof method||!method){Array.prototype.unshift.call(args,this);return $.wysiwyg.init.apply($.wysiwyg,args);}else if($.wysiwyg.plugin.exists(method)){plugin=$.wysiwyg.plugin.parseName(method);args=Array.prototype.concat.call([args[0]],[this],Array.prototype.slice.call(args,1));return $.wysiwyg[plugin.name][plugin.method].apply($.wysiwyg[plugin.name],Array.prototype.slice.call(args,1));}else{console.error("Method '"+method+"' does not exist on jQuery.wysiwyg.\nTry to include some extra controls or plugins");}};$.fn.getWysiwyg=function(){return $.data(this,"wysiwyg");};})(jQuery);